package com.rslai.commons.validator.jsonvalidator;

import java.io.InputStream;
import java.io.Reader;
import java.net.URL;

/**
 * JSON Schema代理接口
 */
public interface JSONSchemaProvider {

    /**
     * 返回JsonSchema
     * @param schema schema字符串
     * @return JsonSchema
     */
    JsonSchema getSchema(String schema);

    /**
     * 返回JsonSchema
     * @param schemaStream schema InputStream
     * @return JsonSchema
     */
    JsonSchema getSchema(InputStream schemaStream);

    /**
     * 返回JsonSchema
     * @param schemaReader schema reader
     * @return JsonSchema
     */
    JsonSchema getSchema(Reader schemaReader);

    /**
     * 返回JsonSchema
     * @param schemaURL schema URL
     * @return JsonSchema
     */
    JsonSchema getSchema(URL schemaURL);

}
